package com.xiaoluo.lottery.common.weixin.pay.beans;

import com.xiaoluo.lottery.common.weixin.base.BaseReq;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

/**
 * Project : lottery
 * Package : com.xiaoluo.lottery.common.weixin.pay.beans
 * Created by Willian.
 * Date  : 2016/4/8 17:26.
 */
@Root(name = "xml")
public class ReportReq extends BaseReq{



    @Element(name = "device_info",required = false) private String device_info;   //设备号	否	String(32)	013467007045764	微信支付分配的终端设备号，商户自定义
    /**
     https://api.mch.weixin.qq.com/pay/unifiedorder    报对应的接口的完整URL，类似：
     https://api.mch.weixin.qq.com/pay/unifiedorder
     对于刷卡支付，为更好的和商户共同分析一次业务行为的整体耗时情况，对于两种接入模式，请都在门店侧对一次刷卡支付进行一次单独的整体上报，上报URL指定为：
     https://api.mch.weixin.qq.com/pay/micropay/total
     关于两种接入模式具体可参考本文档章节：刷卡支付商户接入模式
     其它接口调用仍然按照调用一次，上报一次来进行。
     */
    @Element(name = "interface_url")                private String interface_url;   //接口URL	是	String(127)
    @Element(name = "execute_time_")                private String execute_time_;   //接口耗时	是	Int	1000	接口耗时情况，单位为毫秒    返回状态码	return_code	是	String(16)	SUCCESS    SUCCESS/FAIL    此字段是通信标识，非交易标识，交易是否成功需要查看trade_state来判断
    @Element(name = "return_msg",required = false)  private String return_msg;   //返回信息	否	String(128)	签名失败    返回信息，如非空，为错误原因            签名失败    参数格式校验错误
    @Element(name = "result_code")                  private String result_code;   //业务结果	是	String(16)	SUCCESS	SUCCESS/FAIL
    @Element(name = "err_code",required = false)    private String err_code;   //错误代码	否	String(32)	SYSTEMERROR    ORDERNOTEXIST—订单不存在    SYSTEMERROR—系统错误
    @Element(name = "err_code_des",required = false)private String err_code_des;   //错误代码描述	否	String(128)	系统错误	结果信息描述
    @Element(name = "out_trade_no",required = false)private String out_trade_no;   //商户订单号	否	String(32)	1217752501201407033233368018	商户系统内部的订单号,商户可以在上报时提供相关商户订单号方便微信支付更好的提高服务质量。
    @Element(name = "user_ip")                      private String user_ip;   //访问接口IP	是	String(16)	8.8.8.8	发起接口调用时的机器IP
    @Element(name = "time",required = false)        private String time;   //商户上报时间	否	String(14)	20091227091010	系统时间，格式为yyyyMMddHHmmss，如2009年12月27日9点10分10秒表示为20091227091010。其他详见时间规则

    public String getDevice_info() {
        return device_info;
    }

    public void setDevice_info(String device_info) {
        this.device_info = device_info;
    }

    public String getInterface_url() {
        return interface_url;
    }

    public void setInterface_url(String interface_url) {
        this.interface_url = interface_url;
    }

    public String getExecute_time_() {
        return execute_time_;
    }

    public void setExecute_time_(String execute_time_) {
        this.execute_time_ = execute_time_;
    }

    public String getReturn_msg() {
        return return_msg;
    }

    public void setReturn_msg(String return_msg) {
        this.return_msg = return_msg;
    }

    public String getResult_code() {
        return result_code;
    }

    public void setResult_code(String result_code) {
        this.result_code = result_code;
    }

    public String getErr_code() {
        return err_code;
    }

    public void setErr_code(String err_code) {
        this.err_code = err_code;
    }

    public String getErr_code_des() {
        return err_code_des;
    }

    public void setErr_code_des(String err_code_des) {
        this.err_code_des = err_code_des;
    }

    public String getOut_trade_no() {
        return out_trade_no;
    }

    public void setOut_trade_no(String out_trade_no) {
        this.out_trade_no = out_trade_no;
    }

    public String getUser_ip() {
        return user_ip;
    }

    public void setUser_ip(String user_ip) {
        this.user_ip = user_ip;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }
}
